We have comprehensively evaluated the performance of SSBM queries on GPUs
by varing query characteristics, software optimization techniques and hardware configurations.
We summarize major findings as follows.

1. Data and query related issues:
\begin{itemize}
\item A GPU-effective table structure should avoid data alignment issues when designing column data type and width.

\item The most time consuming query in GPUs is dominated by hash join with both high selectivity and irregular memory access for dimension table data (e.g., Q3.1).

\end{itemize}


2.  Software optimization related issues:
\begin{itemize}
\item Unfortunately data compression cannot accelerate the kernel execution of the aforementioned query type (e.g., Q3.1), 
although data compression can decrease data transfer time generally.
\item While invisible join can significantly accelerate the kernel execution of the aformentioned query type, 
it will degrade the performance of queries with very low selectivity (e.g., Q3.2 - Q3.4).
\item The CUDA UVA programming technique is most suitable for accelerating queries with low selectivities
(e.g., Q3.2 - Q3.4, Q2.2 - Q2.3) since their one-pass scan-dominated nature can create better opportunities to exploit transfer overlapping.
\end{itemize}

3. GPU architecture related issues:
\begin{itemize}
\item SSBM executions in GPU devices are dominated by PCIe bandwidth and device memory bandwidth, 
and query kernels with intensive irregular data accesses are unable to fully exploit the device memory bandwidth.

\item The performance of SSBM queries can be significantly accelerated by the transition from PCIe 2.0 to PCIe 3.0,
but do not obtain performance improvement accordingly from the recent three generation of NVIDIA GPUs (GTX 480, 580, 680).
This implies that SSBM queries are not likely to benefit from the possible advancement of GPU hardwares
in the near future.
\end{itemize}



The query engine is open to the public and can be accessed at
\url{http://code.google.com/p/gpudb/}.




